Utilizing document structure for animated pagination

ABSTRACT

In general, this disclosure describes techniques for visually emphasizing information displayed on a computing device. In one example, a method that includes receiving a first portion of a document for display by the computing device, the first portion of the document including multiple elements separated by one or more delimiters. The method further includes dividing the multiple elements into a first set of one or more elements, each of which is displayable in its entirety at a time of display of the first portion of the document, and a second set of at least one element, the at least one element not displayable in its entirety at the time of display of the first portion of the document. The method further includes generating for display the first portion of the document, including visually emphasizing the first set of elements with respect to the second set of elements.

RELATED APPLICATIONS

This application is a continuation of U.S. Application No. 13/113,528,filed May 23, 2011, which claims the benefit of U.S. ProvisionalApplication No. 61/407,179, filed Oct. 27, 2010, the entire contents ofeach of which are incorporated by reference herein.

TECHNICAL FIELD

This disclosure relates to displaying information on computing devices,such as personal computers, tablet computers, ebook readers, andcellular telephones.

BACKGROUND

Modern computing devices may include a display for displayinginformation. In some instances, the computing devices may not be able todisplay all of the information at once, such as when displaying largebodies of text. Each set of information capable of being displayedsimultaneously on the computing device display may be referred to as a“page” of information. Conventionally, computing devices are configuredto fit as many lines as possible onto a single page when displayingbodies of text or other information larger than a single page.

SUMMARY

In general, this disclosure describes techniques for visuallyemphasizing (e.g., highlighting) complete textual blocks (e.g.,sentences) of a document that are completely visible on a displayscreen, and visually de-emphasizing (e.g., dimming) any other textualblocks (e.g., partial sentences) that may be partially occluded byscreen or window boundaries of a display. When a user invokes a changepage action, e.g., a “next page” or “scroll” action, the techniques ofthis disclosure may modify the view of or scroll the document accordingto the amount of content for the complete textual blocks that werepreviously displayed, using an animated transition to keep the user'seye in line with where the user can resume reading.

In one example, a method includes receiving a first portion of adocument for display by the computing device, the first portion of thedocument including multiple elements separated by one or moredelimiters. The method also includes dividing, by the computing device,the multiple elements into 1) a first set of one or more elements, eachof which is displayable in its entirety at a time of display of thefirst portion of the document, and 2) a second set of at least oneelement, the at least one element not displayable in its entirety at thetime of display of the first portion of the document. The method alsoincludes generating for display by the computing device the firstportion of the document, wherein generating for display includesvisually emphasizing the first set of elements with respect to thesecond set of at least one element.

In another example, a computer-readable storage medium is encoded withinstructions that if executed by one or more programmable processors ofa computing device cause the computing device to perform operations. Theoperations include receiving a first portion of a document for displayby the computing device, the first portion of the document includingmultiple elements separated by one or more delimiters. The operationsfurther include dividing the multiple elements into a first set of oneor more elements, each of which is displayable in its entirety at a timeof display of the first portion of the document, and a second set of atleast one element, the at least one element not displayable in itsentirety at the time of display of the first portion of the document.The operations further include generating for display by the computingdevice the first portion of the document, wherein generating for displayincludes visually emphasizing the first set of elements with respect tothe second set of at least one element.

In another example, a device includes one or more programmableprocessors, and a parsing module executable by the one or moreprogrammable processors to receive a first portion of a document fordisplay by the device, the first portion of the document includingmultiple elements separated by one or more delimiters, divide themultiple elements into 1) a first set of one or more elements, each ofwhich is displayable in its entirety at a time of display of the firstportion of the document, and 2) a second set of at least one element,the at least one element not displayable in its entirety at the time ofdisplay of the first portion of the document. The device furtherincludes means for generating for display by the device the firstportion of the document, wherein generating for display includesvisually emphasizing the first set of elements with respect to thesecond set of at least one element.

The techniques of this disclosure may provide one or more advantages.For example, by emphasizing or de-emphasizing information based oncomplete thoughts, e.g., complete sentences, the reader may naturallytrigger the “next page” action when at the end of a complete thought.When triggering a “next page” action at the end of a complete thought,the reader, in various instances, may more easily follow the text towhere the reader should begin reading again. Thus, these techniques mayreduce the fatigue experienced by a user when reading text for aprolonged period of time.

The details of one or more embodiments of this disclosure are set forthin the accompanying drawings and the description below. Other features,objects, and advantages of this disclosure will be apparent from thedescription and drawings, and from the claims.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a conceptual diagram illustrating an example computing devicewith example information displayed, in accordance with one aspect of thepresent disclosure.

FIG. 2 is a block diagram illustrating further details of an examplecomputing device that displays information, in accordance with oneaspect of the present disclosure.

FIGS. 3A-3C are conceptual diagrams illustrating example informationdisplays, in accordance with one aspect of the present disclosure.

FIG. 4 is a conceptual diagram illustrating another example informationdisplay, in accordance with one aspect of the present disclosure.

FIG. 5 is a flow chart illustrating an example method for displayinginformation on a computing device, in accordance with one aspect of thepresent disclosure.

Like reference symbols in the various drawings indicate like elements.

DETAILED DESCRIPTION

When a user is reading or otherwise examining the information displayedon the screen, the user is often left hanging mid-thought (e.g.,mid-sentence) for about a second as the user flips the page and his orher eyes find the top-left corner of the page. The combination of theseunnatural mid-thought breaks and the delay in the human eye settling toits new starting location after a page turn can subconsciously fatiguethe user with prolonged reading. By emphasizing or de-emphasizinginformation based on complete thoughts, the techniques of thisdisclosure may enable the user to more easily follow the text to wherethe user should begin reading again. Thus, these techniques may reducethe fatigue experience by the user when reading for a prolonged periodof time.

FIG. 1 is a conceptual diagram illustrating an example computing device2 with example information displayed, in accordance with one aspect ofthe present disclosure. Computing device 2 may comprise one or morestand-alone devices or may be part of a larger system. In certainexamples, computing device 2 may comprise a mobile device. For instance,computing device 2 may comprise or be part of a wireless communicationdevice (e.g., wireless mobile handset or device), a video telephone, adigital multimedia player, a personal digital assistant (PDA), a videogame console, a laptop computer, or other device. In some instances,computing device 2 may communicate with external, distinct devices viaone or more networks (not shown), such as one or more wired or wirelessnetworks, which may, in some cases, provide access to the Internet.

As shown in the example of FIG. 1, computing device 2 may include one ormore applications 4A-4N, rendering module 6, and display 8. Applications4A-4N (collectively, “applications 4”) and rendering module 6 may beexecuted by computing device 2 (e.g., by one or more processors includedwithin computing device 2, as described in more detail with respect toFIG. 2). Display 8 may present images to user 16 and may be furtherconfigured to detect touch-based input from user 16. User 16 mayinitiate functionality of the device and input content by interactingwith display 8.

Each of applications 4 is operable on computing device 2 to perform oneor more functions during execution. For example, one or more ofapplications 4 may comprise a web application that interacts and/orexchanges data with a device that is external to computing device 2. Aweb application may, in some instances, be executable within a webbrowser that is operable on computing device 2. Computing device 2 may,in various instances, download or otherwise obtain one or more ofapplications 4 from an external server via one or more networks (notshown). For instance, a web browser hosted by computing device 2 maydownload one or more of applications 4 upon access of one or more websites hosted by such as external server (e.g., web server).

During execution, any of applications 4 may implement, invoke, execute,or otherwise utilize rendering module 6 and display 8 to render anddisplay information utilized by one or more of applications 4 to user16. For instance, if application 4A is a web browser application,application 4A may invoke rendering module 6 to render a web page fordisplay on display 8, which is viewable by user 16. In another example,if application 4N is an e-reader application, application 4N may invokerendering module 6 to render pages of an e-book for display on display8.

In accordance with one or more techniques of this disclosure, renderingmodule 6 may format the information to be displayed on display 8. Insome examples, such as when a web browser retrieves a web page fordisplay, rendering module 6 may reformat information for display ondisplay 8. By reformatting the information to be displayed, renderingmodule 6 may provide a better viewing experience for user 16. Renderingmodule 6 may generate device specific formatting for the information.That is, rendering module 6 may process the information and format theinformation based upon the physical characteristics of display 8 and/orbased on configuration parameters stored within computing device 2.

Rendering module 6 may format the information in a number of differentmanners. In one example, rendering module 6 may format a combination oftext and images such that the images are not simultaneously displayedwith text, but rather fill the entire screen of display 8. In anotherexample, certain portions of displayed text are emphasized while otherportions of the displayed text are not emphasized or are de-emphasized.When selecting which portions of text to emphasize, rendering module 6may use punctuation, such as a comma, a semi-colon, a colon, a hyphen,or a period, as a delimiter between the portion of text that isemphasized and the other portions of text that are not emphasized.Rendering module 6 may also analyze the semantic information of the textitself to identify conceptual boundaries, such as those implied bygrammar, and use the identified conceptual boundaries as delimitersbetween the portion of text that is emphasized and the other portions oftext that are not emphasized. The conceptual boundaries may beparticularly useful when rendering non-English languages and for longrun-on sentences.

When the information to be displayed includes more information than maybe simultaneously displayed on display 8, e.g., there is moreinformation that fits within a single “page” being shown to user 16 ondisplay 8, rendering module 6 may format the information to be displayedon a page-by-page basis, the details of which are further described withrespect to FIGS. 3A-3C. For example, rendering module 6 formats a firstpage of information to display. Upon user 16 entering a change pageaction, e.g., a next page action, rendering module 6 may reformat aportion of the information previously displayed, e.g., de-emphasizepreviously emphasized information, and emphasize or de-emphasize variousportions of information not previously displayed.

After formatting the information, rendering module 6 sends theinformation to display 8 for display to user 16. In the exampleillustrated in FIG. 1, display 8 is displaying text, which may be aportion of a larger document. The text includes three distinct portions,text portions 10 and 14, which are not emphasized, and text portion 12,which is emphasized by underlining the text (according to the particularexample of FIG. 1). As illustrated, rendering module 6 selected whichportions of the displayed text to emphasize or not emphasize based on apunctuation delimiter, i.e., a period. Text portion 10 may include aportion of a sentence that was previously displayed as a portion of aprior page. Similarly, text portion 14 may include a portion of asentence that will be fully displayed after user 16 performs a next pageaction. Text portion 12 includes emphasized text located between twodistinct occurrences of the delimiter, i.e., between two or moredifferent periods.

In this manner, one or more techniques of this disclosure may emphasizeor de-emphasize text based on complete thoughts, e.g., completesentences, encouraging user 16 to trigger the “next page” action when atthe end of a complete thought. When triggering a “next page” action atthe end of a complete thought, user 16, in various instances, may moreeasily follow the text to where user 16 should begin reading again.Thus, these techniques may reduce the fatigue experience by user 16 whenreading text for a prolonged period of time.

FIG. 2 is a block diagram illustrating further details of an examplecomputing device 20 that displays information, in accordance with oneaspect of the present disclosure. As shown in the specific example ofFIG. 2, computing device 20 includes one or more processors 22, memory24, a network interface 26, one or more storage devices 28, userinterface 30, and an optional battery 32. For instance, if computingdevice 20 comprises a mobile device, computing device 20 may includebattery 32. Each of components 22, 24, 26, 28, 30, and 32 may beinterconnected via one or more busses for inter-componentcommunications. Processors 22 may be configured to implementfunctionality and/or process instructions for execution within computingdevice 20. Processors 22 may be capable of processing instructionsstored in memory 24 or instructions stored on storage devices 28.

User interface 30 may include, for example, a monitor or other displaydevice for presentation of visual information to a user of computingdevice 20. User interface 30 may further include one or more inputdevices to enable a user to input data, such as a manual keyboard,mouse, touchpad, trackpad, etc. In some example, user interface 30 maycomprise a touchscreen, which may be used both to receive and processuser input and also to display output information. User interface 30 mayfurther include printers or other devices to output information. Invarious instances in the description contained herein, references madeto user interface 30 may refer to portions of user interface 30 (e.g.,touchscreen, mouse device) that provide user input functionality.

Memory 24 may be configured to store information within computing device20 during operation. Memory 24 may, in some examples, be described as acomputer-readable storage medium. In some examples, memory 24 is atemporary memory, meaning that a primary purpose of memory 24 is notlong-term storage. Memory 24 may also be described as a volatile memory,meaning that memory 24 does not maintain stored contents when thecomputer is turned off. Examples of volatile memories include randomaccess memories (RAM), dynamic random access memories (DRAM), staticrandom access memories (SRAM), and other forms of volatile memoriesknown in the art. In some examples, memory 24 may be used to storeprogram instructions for execution by processors 22. Memory 24 may beused by software or applications running on computing device 20 (e.g.,one or more of applications 4 shown in FIG. 1) to temporarily storeinformation during program execution.

Storage devices 28 may also include one or more computer-readablestorage media. Storage devices 28 may be configured to store largeramounts of information than memory 24. Storage devices 28 may further beconfigured for long-term storage of information. In some examples,storage devices 28 may comprise non-volatile storage elements. Examplesof such non-volatile storage elements may include magnetic hard discs,optical discs, floppy discs, flash memories, or forms of electricallyprogrammable memories (EPROM) or electrically erasable and programmable(EEPROM) memories.

Computing device 20 also includes network interface 26. Computing device20 may utilize network interface 26 to communicate with external devices(e.g., one or more servers, web servers) via one or more networks. Anyapplications implemented within or executed by computing device 20,e.g., applications 4 shown in FIG. 1, may be implemented or containedwithin, operable by, executed by, and/or be operatively coupled toprocessors 22, memory 24, network interface 26, storage devices 28,and/or user interface 30.

One example rendering module 34 is shown in FIG. 2. Rendering module 34may comprise one example of rendering module 6 shown in FIG. 1 and mayinclude parsing module 36, and emphasis module 38, and display module40. Rendering module 34 may format information for display 8 shown inFIG. 1, e.g., via user interface 30. Rendering module 34 may be storedin memory 24 and/or storage device 30, and may be operable by processors22 to perform various tasks during execution.

Rendering module 34 may receive information to display via userinterface 30 from applications executed by computing device 20. Uponreceiving the information to display, parsing module 36 may analyze theinformation to display and parse the information based upon one or moredelimiters. Parsing the information may identify potential locationswithin the information to be displayed that may serve as transitionpoints for purposes of pagination, emphasis, or other formattingtechniques. In one example, parsing module 36 is configured to parse theinformation based upon detecting an image, any punctuation mark, or anew paragraph, parsing module 36 identifies each image, punctuationmark, or new paragraph located within the information to be displayed.In another example, parsing module 36 is configured to parse theinformation based upon the period punctuation mark. In this example, theend of each sentence located within the information to be displayed isidentified as a potential transition point. Any element of theinformation to be displayed may be used as a delimiter.

In some examples, parsing module 36 may include various delimiters thateach have different a priority level. That is, parsing module 36 may beconfigured to prioritize one delimiter over a different delimiter whenidentifying locations within the information to be displayed aspotential transition points. For example, a new paragraph may have thehighest priority, a period the second highest priority, a colon thethird highest priority, and so on. Assigning different priorities may beuseful to further control the display of the information. For example,when the amount of information located between delimiters of the samepriority level exceeds the amount of information that may be displayedwithin a single page via user interface 30, rendering module 34 may moveto a next lower priority level delimiter when formatting theinformation. By assigning various delimiters particular priority levels,a programmer may better control how the information is presented to auser.

After identifying the particular delimiters within the information to bedisplayed, parsing module 36 may then be configured to determine where apage of information begins and ends within all of the information to bedisplayed. A page of information, in some examples, may be the totalamount of information that may be simultaneously displayed to a user viauser interface 30. In order to determine where the pages are locatedwithin the information, parsing module 36 may be configured withinformation about user interface 30, such as pixel density andresolution of a display, the font type and sizes, and character, line,and paragraph spacing. Parsing module 36 may utilize the informationabout user interface 30 as well as the identified transition points toidentify the pages within the information to be displayed and to formatthe information included within each page. In general, when theinformation to be displayed includes text, a portion of the text fromone page may be included in the next page of text such that there issome overlap of text between the two adjacent pages.

Parsing module 36 may send the parsed information to emphasis module 38for further formatting. Emphasis module 38 may be configured to identifycomplete elements within each page of information. A complete elementincludes information occurring between two distinct occurrences ofdelimiters within a page of information. In the examples where eachdelimiter is assigned a particular priority, a complete element mayinclude information occurring between two distinct occurrences of eachdelimiter of the same priority level or, in some examples, the samepriority level or a higher priority level. An incomplete element mayinclude information occurring before the first occurrence of a delimiterwithin a page or after the last occurrence of the delimiter within in apage.

In general, emphasis module 38 emphasized the complete elements locatedwithin each page. The complete elements may be emphasized, for example,by underlining, bolding, italicizing, highlighting, changing the size,font, or color of text within the complete elements, or any other mannerin which complete elements may be differentiated from incompleteelements. Emphasis module 38 may also de-emphasize incomplete elementslocated within each page. The incomplete elements may be de-emphasizedby changing the color of the text to a lighter shade of the color of theemphasized text, by reducing the size of the font, or in any othermanner that may reduce or minimize the appearance of the incompleteelements as compared to the complete elements.

Each page of information typically includes at least one completeelement and at least one incomplete element. However, when there is moreinformation between delimiters than will fit within a single page, anentire page may include an incomplete element, but no complete elements.If there are no complete elements, emphasis module 38 may emphasis eachline of information included in the display except, for example, a firstline and a last line.

Display module 40 may receive the parsed and emphasized information fromemphasis module 38 and provide the information to user interface 30 apage at a time for display to a user. When a user interacts withcomputing device 20 to initiate a page change action, e.g., a next pageaction, display module 40 provides the page of information thatcorresponds to the page change action to user interface 30. The user mayinteract with computing device 20 to initiation the page change actionby, for example, squeezing computing device 20 or interacting with userinterface 30. In one example, computing device 20 may include afront-facing camera that tracks the user's eyes. When the user's eyesare determined to reach the transition area (e.g., the end of theemphasized information), computing device 20 may initiate a page changeaction.

Display module 40 may be configured to cause user interface 30 toperform particular transitions when changing pages. For example, displaymodule 40 may cause user interface 30 to fade the emphasized informationfrom the formatting associated with emphasized information to the formatassociated with de-emphasized information. Display module 40 may befurther configured to fade any de-emphasized information located withinthe page after the emphasized information from the format associatedwith de-emphasized information to the format associate with emphasizedinformation.

Display module 40 may also cause user interface 30 to perform pagechange transitions, such as scrolling the text from the bottom of theuser interface 30 to the top of user interface 30 in response to a nextpage action. Other change page actions may cause different page changetransitions. As examples, the page change transition may appear as if aphysical page is being turned, the text may scroll from the top towardsthe bottom, the text may fade in and out, the text may slide in from theleft or right, or any of the well known graphic transitions.

FIGS. 3A-3C are conceptual diagrams illustrating example informationdisplays, in accordance with one aspect of the present disclosure. Forpurposes of illustration only, the conceptual diagrams of FIGS. 3A-3Care described with respect to computing device 20 of FIG. 2, thoughvarious other systems and/or devices may be utilized to generate anddisplay the information depicted in FIGS. 3A-3C. The text included inFIGS. 3A-3C is an example of a text document that may be processed byrendering module 34 and displayed to a user via user interface 30. Whileillustrated as only displaying text information, other information maybe parsed and display including images, graphics, and video.

Rendering module 34 may receive the text from an application executingon computing device 20, e.g., application 4A of FIG. 1. In the exampleillustrated in FIGS. 3A-3C, parsing module 36 parses the text based upona single delimiter, a period. As described above, other characters,including other punctuation marks, may be used as delimiters and morethan one delimiter may be used by parsing module 36 when parsing theinformation to be displayed. As also illustrated in FIGS. 3A-3C,emphasis module 38 emphasizes complete elements of the text byunderlining the complete elements. In other examples, emphasis module 38may bold, italicize, highlight, or otherwise change the format of theemphasized information.

Referring to FIG. 3A, the information displayed within a single screen,e.g. a page of information, is displayed on display screen 40. The textdisplayed on display screen 40 includes emphasized text 42 andde-emphasized text 44. De-emphasized text 44 may include informationthat is not emphasized or may include information that is formatted tominimize the appearance of the text to a user. The remainder of thedocument that has not yet been displayed on display screen 40 isrepresented as undisplayed text 46. In this example, because parsingmodule 36 parsed the text based on a period delimiter, emphasis module38 applied the underline emphasis only to complete sentences. Emphasizedtext 42 begins with the start of a sentence and ends at the end of asentence. De-emphasized text 44 begins that the start of the firstsentence following the last sentence of emphasized text 42 and does notinclude a complete element. Rather, de-emphasized text 44 includes onlya portion of a sentence.

The conceptual diagram illustrated by FIG. 3B may be generated after auser causes a next page action by interacting with computing device 20via user interface 30, for example. In FIG. 3B, display screen 40displays the next page of the document. The portion of the document thatwas previously displayed as emphasized text and that is not currentlydisplayed on display screen 40 is identified as previously displayedtext 48. A portion of the last sentence that was previously emphasizedis included within display screen 40 as de-emphasized previouslydisplayed text 50. A programmer may configure the number of lines ofde-emphasized previously displayed text 50 to include within eachdisplay screen 40 as a user moves through a document. By including aportion of the previously emphasized text within display 40, a user maybe provided context for the next sentence and may more easily be able tofollow where to begin reading again after causing a next page action.However, to limit the number of page change actions required to movethrough a document, the number of lines of de-emphasized previouslydisplayed information 50 may be optimized to include enough informationto provide adequate context for the user without requiring the user toperform excessive page change actions.

Emphasized text 52 begins with the first sentence that follows thede-emphasized previously displayed text 50 and ends at the end of thelast complete sentence that fits within display screen 40. De-emphasizedtext 54 includes the incomplete element that follows emphasized text 52.In some examples, a complete element, e.g., a complete sentence, may bethe last element or portion of an element within display screen 40. Inthese examples, de-emphasized text 54 may include the last completeelement displayed within display screen 40. That is, while de-emphasizedtext 54 generally does not include complete elements, de-emphasized text54 may include a complete element when the last element within displayscreen 40 is a complete element and there exists additional informationthat has not yet been displayed to the user, e.g., undisplayed text 56.

FIG. 3C may also be generated after a user causes a next page action by,for example, interacting with computing device 20 via user interface 30.In FIG. 3C, display screen 40 displays the last page of the document.Previously displayed text 58 now includes a portion of emphasized text52 of FIG. 3B as well as all of the previously displayed text 48 of FIG.3B. As illustrated in FIG. 3C, several lines of de-emphasized previouslydisplayed text 60 are included within display screen 40 and emphasizedtext 62 includes the remaining text that was not previously displayed.

While described as “undisplayed text” and “previously displayed text,” auser may move through the document in any manner and the text includedin undisplayed text 46 or undisplayed text 56 may have been previouslydisplay while the text included in previously displayed text 48 orpreviously displayed text 58 may not have been previously displayed. Forexample, the user may cause the page displayed in display screen 40 ofFIG. 3C to be displayed prior to the page displayed in display screen 40of FIG. 3A. The descriptive phrases “undisplayed text” and “previouslydisplayed text” are used throughout this disclosure merely forconvenience and are not intended to limit the manner in which theinformation in a document may be displayed to a user.

FIG. 4 is a conceptual diagram illustrating another example informationdisplay, in accordance with one aspect of the present disclosure. Forpurposes of illustration only, the conceptual diagrams of FIG. 4 isdescribed with respect to computing device 20 of FIG. 2, though variousother systems and/or devices may be utilized to generate and display theinformation depicted in FIG. 4.

Similar to the examples illustrated in FIGS. 3A-3C, previously displayedtext 60 and de-emphasized previously displayed text 62 are both includedas part of a previous page. Each page of text, as determined by parsingmodule 36, typically includes portions of both the previous page and thenext page such that each page overlaps. The overlapping information maybe illustrated as the de-emphasized information at the top and bottom ofeach page, e.g., de-emphasized previously displayed text 62 andde-emphasized text 70. In contrast, undisplayed text 72 includes thetext occurring in pages following the page currently displayed indisplay screen 40 and does not include text that is currently displayedin display screen 40.

In the example illustrated in FIG. 4, parsing module 36 parsed thedocument based on a single delimiter, a comma. Therefore, emphasizedtext 66 begins with the first word after a comma and ends at a comma andde-emphasized text begins with the first word after the comma at the endof emphasized text 66. Other delimiters, such as a new paragraphcharacter, a semi-colon, a colon, or a hyphen may be used to parse theinformation with parsing module 36, enabling emphasis module 38 toappropriately format the information within each page. In some examples,an artificial character, such as a solid square, may be inserted intothe document and used as a delimiter to parse the information withparsing module 36.

FIG. 5 is a flow chart illustrating an example method for displayinginformation on a computing device, in accordance with one aspect of thepresent disclosure. For purposes of illustration only, the method ofFIG. 5 is described with respect to computing device 20 of FIG. 2,though various other systems and/or devices may be utilized to implementor perform the method shown in FIG. 5. In the example illustrated inFIG. 5, rendering module 34 of computing device 20 receives theinformation to display via user interface 30 (90). The information todisplay may be received from an application executing on computingdevice 20 and/or may be stored within memory 24 or storage devices 28 ofcomputing device 20.

Upon receiving the information to display (90), parsing module 36 ofrendering module 34 identifies the occurrences of one or more delimiterswithin the information to display (92). In some examples, parsing module36 may be pre-configured to identify certain delimiters. In otherexamples, the application passing the information to display torendering module 34 may also pass configuration information identifyingthe delimiters and any relative priority associated with each delimiterto rendering module 34. Parsing module 36, after identifying theoccurrences of the delimiters in the information to be displayed,divides the information into pages based, at least in part, on thedelimiters (94). Parsing module 36 may also divide the information basedupon the particular configuration of user interface 30, e.g., the numberof pixels within a display of user interface 30, the physical size ofthe display, the number of pixels per inch used to render theinformation, the font size, the character, line, and font spacing, amongother configuration options.

In the example illustrated in FIG. 5, emphasis module 38 then identifiesthe complete elements within each page of the information to bedisplayed (96). As described above, a complete element may includeinformation occurring between two distinct occurrences of delimiterswithin a page of information. In the examples where each delimiter isassigned a particular priority, a complete element may includeinformation occurring between two distinct occurrences of each delimiterof the same priority level or the same priority level and a higherpriority level. An incomplete element may include information occurringbefore the first occurrence of a delimiter within a page or after thelast occurrence of the delimiter within in a page.

After identifying the complete elements within each page (96), emphasismodule 38 applies formatting to the complete elements to emphasize thecomplete elements (98). The complete elements may be emphasized, forexample, by underlining, bolding, italicizing, highlighting, changingthe size, font, or color of text within the complete elements, or anyother manner in which complete elements may be differentiated fromincomplete elements. In some examples, emphasis module 38 appliesadditional formatting to incomplete elements to de-emphasize theincomplete elements located within each page (100). The incompleteelements may be de-emphasized by changing the color of the text to alighter shade of the color of the emphasized text, by reducing the sizeof the font, or in any other manner that may reduce or minimize theappearance of the incomplete elements as compared to the completeelements.

Rendering module 34 then determines whether the command that caused theinformation to be sent to rendering module 34 was a page change commandor some other command (102). If the command was a page change command(“YES” branch of 102), then display module 40 may cause user interface30 to perform one or more page change animations based on whether thecommand was a next page command, previous page command, or some otherpage change command (104). For example, if the user causes a next pageaction to be performed, previously emphasized information may bede-emphasized, previously de-emphasized information located below thepreviously emphasized information may become emphasized, and theinformation may scroll in the direction moving from the bottom portionof user interface 30 to the top portion of user interface 30. As anotherexample, if the user causes a previous page action to be performed,previously emphasized information may be de-emphasized, previouslyde-emphasized information located above the previously emphasizedinformation may become emphasized, and the information may scroll in thedirection moving from the top portion of user interface 30 to the bottomportion of user interface 30. If the command was not a page changecommand (“NO” branch of 102) or after display module 40 causes userinterface 30 to perform the page change animations, display module 40then causes user interface 40 to display the particular page ofinformation (106).

In this manner, the techniques of this disclosure may reduce the fatigueexperienced by a user when consuming information over a prolonged periodof time. By emphasizing and/or de-emphasizing text based on completeelements, which may correspond with complete thoughts, the user may beencouraged to trigger a “next page” action when at the end of a completethought. When triggering a “next page” action at the end of a completethought, the user, in various instances, may more easily follow the textto where the user should begin reading again, which may reduce thefatigue experienced by the user.

The techniques described herein may be implemented in hardware,software, firmware, or any combination thereof. Various featuresdescribed as modules, units or components may be implemented together inan integrated logic device or separately as discrete but interoperablelogic devices or other hardware devices. In some cases, various featuresof electronic circuitry may be implemented as one or more integratedcircuit devices, such as an integrated circuit chip or chipset.

If implemented in hardware, this disclosure may be directed to anapparatus such a processor or an integrated circuit device, such as anintegrated circuit chip or chipset. Alternatively or additionally, ifimplemented in software or firmware, the techniques may be realized atleast in part by a computer-readable data storage medium comprisinginstructions that, when executed, cause a processor to perform one ormore of the methods described above. For example, the computer-readabledata storage medium may store such instructions for execution by aprocessor.

A computer-readable medium may form part of a computer program product,which may include packaging materials. A computer-readable medium maycomprise a computer data storage medium such as RAM, ROM, NVRAM, EEPROM,FLASH memory, magnetic or optical data storage media, and the like. Thetechniques additionally, or alternatively, may be realized at least inpart by a computer-readable communication medium that carries orcommunicates code in the form of instructions or data structures andthat can be accessed, read, and/or executed by a computer.

The code or instructions may be software and/or firmware executed byprocessing circuitry including one or more processors, such as one ormore digital signal processors (DSPs), general purpose microprocessors,ASICs, FPGAs, or other equivalent integrated or discrete logiccircuitry. Accordingly, the term “processor,” as used herein may referto any of the foregoing structure or any other structure suitable forimplementation of the techniques described herein. In addition, in someaspects, functionality described in this disclosure may be providedwithin software modules or hardware modules.

Various embodiments have been described. These and other embodiments arewithin the scope of the following claims.

1. A method performed by a computing device having a processor, themethod comprising: receiving a first portion of a document for displayby the computing device, the first portion of the document includingmultiple elements separated by one or more delimiters; dividing, by thecomputing device, the multiple elements into 1) a first set of one ormore elements, each of which is displayable in its entirety at a time ofdisplay of the first portion of the document, and 2) a second set of atleast one element, the at least one element not displayable in itsentirety at the time of display of the first portion of the document;and generating for display by the computing device the first portion ofthe document, wherein generating for display includes visuallyemphasizing the first set of elements with respect to the second set ofat least one element.
 2. The method of claim 1, further comprising:receiving a second portion of the document occurring immediatelyadjacent to the first portion of the document for display by thecomputing device, the second portion of the document including secondmultiple elements separated by one or more delimiters; dividing by thecomputing device, the second multiple elements into 1) a third set ofone or more elements, each of which is displayable in its entirety at atime of display of the second portion of the document, and 2) a fourthset of at least one element, the at least one element not displayable inits entirety at the time of display of the second portion of thedocument; generating for display by the computing device the secondportion of the document, wherein generating for display the secondportion of the document includes visually de-emphasizing the first setof elements, and visually emphasizing the third set of elements of thesecond portion of the document with respect to the fourth set of atleast one element.
 3. The method of claim 2, wherein generating fordisplay the second portion of the document further includes visuallyde-emphasizing the fourth set of at least one element of the secondportion of the document with respect to the third set of elements. 4.The method of claim 2, wherein visually de-emphasizing the first set ofelements comprises fading the first set of elements from an emphasizedstate to a de-emphasized state.
 5. The method of claim 2, whereingenerating for display the second portion of the document furtherincludes: scrolling the first portion of the document towards a topportion of the display device; stopping displaying the first portion ofthe document not included in the second portion of the document on thedisplay device; and scrolling the second portion of the document from abottom portion of the display device towards the top portion of thedisplay device.
 6. The method of claim 2, wherein generating for displaythe second portion of the document further includes: scrolling the firstportion of the document towards a bottom portion of the display device;stopping displaying the first portion of the document not included inthe second portion of the document on the display device; and scrollingthe second portion of the document from a top portion of the displaydevice towards the bottom portion of the display device.
 7. The methodof claim 1, wherein each element of the first set of elements includesinformation from the first portion of the document occurring 1) prior toand including a first occurrence of the delimiter within the firstportion of the document, 2) between two distinct occurrences of thedelimiter and including a latter occurrence of the two distinctoccurrences of the delimiter in the first portion of the document, or 3)after a last occurrence of the delimiter.
 8. The method of claim 1,wherein the first set of elements further comprise an element thatincludes information occurring after an occurrence of the delimiter inanother portion of the document.
 9. The method of claim 1, whereingenerating for display the first portion of the document furtherincludes visually de-emphasizing the second set of at least one element.10. The method of claim 1, further comprising: dividing, by thecomputing device, a first element of the second set of elements into aset of sub-elements based on a second delimiter, wherein eachsub-element of the set of sub-elements includes information from thefirst element occurring 1) prior to and including a first occurrence ofthe second delimiter within the first element, 2) between two distinctoccurrences of the second delimiter and including a latter occurrence ofthe two distinct occurrences of the second delimiter in the firstelement, or 3) after a last occurrence of the second delimiter;determining which sub-elements of the set of sub-elements are completesub-elements based on the second delimiter, wherein a completesub-element comprises a sub-element that includes information occurringbetween two distinct occurrences of the second delimiter within thefirst element, or a sub-element that includes information occurringprior to the first occurrence of the second delimiter that was notpreviously included in a different set of sub-elements or elements; andgenerating for display by the computing device the first element,wherein generating for display the first element includes visuallyemphasizing the complete sub-elements of the set of sub-elements on thedisplay device.
 11. The method of claim 10, wherein the delimitercomprises a paragraph separator, and wherein the second delimiter is oneof a period, a colon, a semi-colon, a hyphen, or a comma.
 12. The methodof claim 1, wherein the delimiter comprises one of a paragraphseparator, a period, a semi-colon, a colon, a hyphen, or a comma. 13.The method of claim 1, wherein the first set of one or more elementsfurther comprises an element that includes information occurring priorto the first occurrence of the delimiter that was not previouslyincluded in a different set of elements in another portion of thedocument.
 14. A computer-readable medium encoded with instructions thatif executed by one or more programmable processors of a computing devicecause the computing device to perform operations comprising: receiving afirst portion of a document for display by the computing device, thefirst portion of the document including multiple elements separated byone or more delimiters; dividing the multiple elements into 1) a firstset of one or more elements, each of which is displayable in itsentirety at a time of display of the first portion of the document, and2) a second set of at least one element, the at least one element notdisplayable in its entirety at the time of display of the first portionof the document; and generating for display by the computing device thefirst portion of the document, wherein generating for display includesvisually emphasizing the first set of elements with respect to thesecond set of at least one element.
 15. The computer-readable storagemedium of claim 14, wherein the operations further comprise: receiving asecond portion of the document occurring immediately adjacent to thefirst portion of the document for display by the computing device, thesecond portion of the document including second multiple elementsseparated by one or more delimiters; dividing by the computing device,the second multiple elements into 1) a third set of one or moreelements, each of which is displayable in its entirety at a time ofdisplay of the second portion of the document, and 2) a fourth set of atleast one element, the at least one element not displayable in itsentirety at the time of display of the second portion of the document;generating for display by the computing device the second portion of thedocument, wherein generating for display the second portion of thedocument includes visually de-emphasizing the first set of elements, andvisually emphasizing the third set of elements of the second portion ofthe document with respect to the fourth set of at least one element. 16.The computer-readable storage medium of claim 15, wherein generating fordisplay the second portion of the document further includes visuallyde-emphasizing the fourth set of at least one element of the secondportion of the document with respect to the third set of elements. 17.The computer-readable storage medium of claim 15, wherein visuallyde-emphasizing the first set of elements comprises fading the first setof elements from an emphasized state to a de-emphasized state.
 18. Thecomputer-readable storage medium of claim 15, wherein the operationdisplaying the second portion of the document further comprises:scrolling the first portion of the document towards a top portion of thedisplay device; stopping displaying the first portion of the documentnot included in the second portion of the document on the displaydevice; and scrolling the second portion of the document from a bottomportion of the display device towards the top portion of the displaydevice.
 19. The computer-readable storage medium of claim 14, whereineach element of the first set of elements includes information from thefirst portion of the document occurring 1) prior to and including afirst occurrence of the delimiter within the first portion of thedocument, 2) between two distinct occurrences of the delimiter andincluding a latter occurrence of the two distinct occurrences of thedelimiter in the first portion of the document, or 3) after a lastoccurrence of the delimiter.
 20. A device comprising: one or moreprogrammable processors; a parsing module executable by the one or moreprogrammable processors to receive a first portion of a document fordisplay by the device, the first portion of the document includingmultiple elements separated by one or more delimiters, divide themultiple elements into 1) a first set of one or more elements, each ofwhich is displayable in its entirety at a time of display of the firstportion of the document, and 2) a second set of at least one element,the at least one element not displayable in its entirety at the time ofdisplay of the first portion of the document; and means for generatingfor display by the device the first portion of the document, whereingenerating for display includes visually emphasizing the first set ofelements with respect to the second set of at least one element.